#ifndef __LOG__HPP__
#define __LOG__HPP__
#include <iostream>
#include <string>
#include <cstdio>
#include <sys/types.h>
#include <unistd.h>
#include <time.h>
#include <stdarg.h>
enum Level
{
    DEBUG = 0,
    INFO,
    WARNING,
    ERROR,
    FATAL
};
std::string levelToString(int level);
std::string GetTimeString();
// 日志格式： 等级 + 时间 + 代码所在文件/行数 日志内容
void LogMessage(std::string filename, int line, int level, const char *format, ...);
// void Test(int num,...)
// {
//     va_list arg;
//     va_start(arg,num);
//     while(num)
//     {

//     }
//     va_end(arg);
// }
#define LOG(level,format,...) LogMessage(__FILE__, __LINE__, level,format, ##__VA_ARGS__)
#endif